From 7d2d8182b443f3ec8e6f21c59f81550c7d5db282 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Apr 2005 14:43:50 +0000 Subject: [PATCH] Add some more attribute tests. 2005-04-29 Matthias Clasen * tests/testtext.c: Add some more attribute tests. * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) --- ChangeLog | 8 +++ ChangeLog.pre-2-10 | 8 +++ ChangeLog.pre-2-8 | 8 +++ gtk/gtktexttag.c | 2 +- tests/testtext.c | 130 ++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 154 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f879e57fc7..a867a8f75d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-04-29 Matthias Clasen + + * tests/testtext.c: Add some more attribute tests. + + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation + of the rise property. String change, but it is more important to + be correct than to be translated. (#301740) + 2005-04-25 Tor Lillqvist * gtk/gtkfilesystemwin32.c diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f879e57fc7..a867a8f75d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +2005-04-29 Matthias Clasen + + * tests/testtext.c: Add some more attribute tests. + + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation + of the rise property. String change, but it is more important to + be correct than to be translated. (#301740) + 2005-04-25 Tor Lillqvist * gtk/gtkfilesystemwin32.c diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f879e57fc7..a867a8f75d 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +2005-04-29 Matthias Clasen + + * tests/testtext.c: Add some more attribute tests. + + * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation + of the rise property. String change, but it is more important to + be correct than to be translated. (#301740) + 2005-04-25 Tor Lillqvist * gtk/gtkfilesystemwin32.c diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index 996b2d5d0f..56db57e46f 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -424,7 +424,7 @@ gtk_text_tag_class_init (GtkTextTagClass *klass) PROP_RISE, g_param_spec_int ("rise", P_("Rise"), - P_("Offset of text above the baseline (below the baseline if rise is negative) in pixels"), + P_("Offset of text above the baseline (below the baseline if rise is negative) in Pango units"), G_MININT, G_MAXINT, 0, diff --git a/tests/testtext.c b/tests/testtext.c index a33c90703d..85d312c5ba 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -28,6 +28,10 @@ struct _Buffer GtkTextTag *invisible_tag; GtkTextTag *not_editable_tag; GtkTextTag *found_text_tag; + GtkTextTag *rise_tag; + GtkTextTag *large_tag; + GtkTextTag *indent_tag; + GtkTextTag *margin_tag; GtkTextTag *custom_tabs_tag; GSList *color_tags; guint color_cycle_timeout; @@ -1033,6 +1037,114 @@ do_apply_invisible (gpointer callback_data, } } +static void +do_apply_rise (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->rise_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->rise_tag, + &start, &end); + } + } +} + +static void +do_apply_large (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->large_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->large_tag, + &start, &end); + } + } +} + +static void +do_apply_indent (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->indent_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->indent_tag, + &start, &end); + } + } +} + +static void +do_apply_margin (gpointer callback_data, + guint callback_action, + GtkWidget *widget) +{ + View *view = view_from_widget (widget); + GtkTextIter start; + GtkTextIter end; + + if (gtk_text_buffer_get_selection_bounds (view->buffer->buffer, + &start, &end)) + { + if (callback_action) + { + gtk_text_buffer_remove_tag (view->buffer->buffer, + view->buffer->margin_tag, + &start, &end); + } + else + { + gtk_text_buffer_apply_tag (view->buffer->buffer, + view->buffer->margin_tag, + &start, &end); + } + } +} + static void do_apply_tabs (gpointer callback_data, guint callback_action, @@ -1555,6 +1667,10 @@ static GtkItemFactoryEntry menu_items[] = { "/Attributes/Not editable", NULL, do_apply_editable, FALSE, NULL }, { "/Attributes/Invisible", NULL, do_apply_invisible, FALSE, NULL }, { "/Attributes/Visible", NULL, do_apply_invisible, TRUE, NULL }, + { "/Attributes/Rise", NULL, do_apply_rise, FALSE, NULL }, + { "/Attributes/Large", NULL, do_apply_large, FALSE, NULL }, + { "/Attributes/Indent", NULL, do_apply_indent, FALSE, NULL }, + { "/Attributes/Margins", NULL, do_apply_margin, FALSE, NULL }, { "/Attributes/Custom tabs", NULL, do_apply_tabs, FALSE, NULL }, { "/Attributes/Default tabs", NULL, do_apply_tabs, TRUE, NULL }, { "/Attributes/Color cycles", NULL, do_apply_colors, TRUE, NULL }, @@ -1746,7 +1862,7 @@ create_buffer (void) ++i; } -#if 0 +#if 1 buffer->invisible_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, "invisible", TRUE, NULL); #endif @@ -1759,6 +1875,18 @@ create_buffer (void) buffer->found_text_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, "foreground", "red", NULL); + buffer->rise_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "rise", 10 * PANGO_SCALE, NULL); + + buffer->large_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "scale", PANGO_SCALE_X_LARGE, NULL); + + buffer->indent_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "indent", 20, NULL); + + buffer->margin_tag = gtk_text_buffer_create_tag (buffer->buffer, NULL, + "left_margin", 20, "right_margin", 20, NULL); + tabs = pango_tab_array_new_with_positions (4, TRUE, PANGO_TAB_LEFT, 10, -- 2.30.2